//package com.ruoyi.project.tool.ffmpeg;
//
//import com.masiyi.ffmpeg.template.FFmpegTemplate;
//import com.ruoyi.framework.config.RuoYiConfig;
//import com.ruoyi.project.system.video.domain.Video;
//import com.ruoyi.project.system.video.service.IVideoService;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.scheduling.annotation.Async;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.io.IOException;
//
//@RestController
//@RequestMapping("/ff")
//public class FFController {
//
//    @Value("${ffmpeg.path}")
//    private String ffmpegPath;
//
//    @Autowired
//    private IVideoService videoService;
//
//    private String pullUrl;
//
//    private Long num;
//
//
//    @RequestMapping("/getUrl")
//    @ResponseBody
//    public String getUrl() {
//        // 随机产生一个1-100数字
//        num = Math.round(Math.random()*100);
//        String returnUrl = "http://192.168.112.137/mylive_hls/"+num+".m3u8";
//        return returnUrl;
//    }
//
//
//    @RequestMapping("/trans")
//    @ResponseBody
//    @Async
//    public String play(@RequestParam("id") Long id) throws IOException, InterruptedException {
//        // 根据id 查询视频信息
//        Video video = videoService.selectVideoById(id);
//        // 截取视频路径
//        String url = video.getUrl();
//        String suffix = url.substring(url.indexOf("/upload/"));
//        String prefix = RuoYiConfig.getProfile();
//
//        String fullPath = prefix+suffix;
//
//        StringBuilder sb = new StringBuilder();
//        sb.append("ffmpeg -re -i ");
//        sb.append(fullPath);
//        sb.append(" -vcodec libx264 -acodec aac -c copy -flvflags no_duration_filesize -f flv  -safe 0 ");
//
//        String pushUrl = "rtmp://192.168.112.137:1935/mylive/"+num;
//        sb.append(pushUrl);
//        FFmpegTemplate ffmpegTemplate = new FFmpegTemplate(ffmpegPath);
//        ffmpegTemplate.execute(sb.toString());
//        return "success";
//    }
//}
